Digital wireless communication systems are used to convey a variety of information between multiple locations. With digital communications, information is translated into a digital or binary form, referred to as bits, for communications purposes. The transmitter maps this bit stream into a modulated symbol stream, which is detected at the digital receiver and mapped back into bits and information.
In digital wireless communications, the radio environment presents many difficulties that impede successful communications. One difficulty is that the signal level can fade because the signal may travel multiple paths due to being reflected that cause signal images to arrive at the receiver antenna out of phase. This type of fading is commonly referred to as Rayleigh fading or fast fading. When the signal fades, the signal-to-noise ratio becomes lower, causing degradation in the quality of the communication link.
A second problem occurs when the multiple signal paths are much different in length. In this case, time dispersion occurs, in which multiple fading signal images arrive at the receiver antenna at different times, thus giving rise to signal echoes or rays. This causes intersymbol interference (ISI), where the echoes of one symbol interfere with subsequent symbols.
At the receiver, coherent demodulation is desirable, since it provides the best performance. This requires knowledge of the multipath channel. In many wireless applications, this channel is time varying, due to transmitter motion, receiver motion, and/or scatterer motion. Thus, there is a need to track a time varying multipath channel,
To provide coherent demodulation of multipath signals, a maximum-likelihood-sequence-estimation (MLSE) equalizer may be employed. Such an equalizer considers various hypotheses for the transmitted symbol sequence, and, with a model of the dispersive channel, determines which hypothesis best fits the received data. This is efficiently realized using the Viterbi algorithm. This equalization technique is well known to those skilled in the art, and can be found in standard textbooks such as J. G. Proakis, Digital Communications, 2nd ed., New York: McGraw-Hill, chapter 6, 1989.
The conventional MLSE equalizer can be explained by a simple example. Suppose the transmitter transmits a symbol stream s(n), which takes on +1 or -1 values corresponding to bit values 0 and 1 respectively. This stream is modulated using binary phase-shift keying (BPSK). At the receiver, the received signal is filtered, amplified, and mixed down using I and Q carriers, then sampled once every symbol period (T), giving a received signal stream r(n). In this example, the intervening channel consists of two fading rays, a main ray and an echo, where the echo arrives T seconds later. Then, the received signal can be modeled as: EQU r(n)=c.sub.0.sup.* s(n)+c.sub.1.sup.* s(n-1)+n(n) (1)
where c.sub.0 and c.sub.1 are complex channel tap values and n(n) is additive noise or interference. The superscript ".sup.* " denotes the complex conjugate.
In the MLSE equalizer, at iteration n, there would be two different previous "states", 0 and 1, corresponding to the two possible values for s(n-1), +1(0) and -1(1). Associated with each previous state would be an accumulated metric, accumulated from previous iterations, giving rise to accumulated metrics A.sub.0 (n-1) and A.sub.1 (n-1). There would also be two current states, corresponding to the two possible values for s(n). Each possible pairing of a previous state with a current state corresponds to a hypothetical sequence {s.sub.h (n-1), s.sub.h (n)}. For each hypothesis, the predicted received signal value would be: EQU r.sub.h (n)=c.sub.0.sup.* s.sub.h (n)+c.sub.1.sup.* s.sub.h (n-1)(2)
The corresponding "branch" metric would be given by EQU M.sub.h (n)=.vertline.r(n)-r.sub.h (n).vertline..sup.2 ( 3)
The candidate metric for a current state would be the sum of the branch metric and the previously accumulated metric associated with s.sub.h (n-1). For each current state, there are two possible previous states. For each current state, the previous state which gives the smallest candidate metric is selected as the predecessor state, and the candidate metric becomes the accumulated metric for that current state.
Thus, for current state 0, there would be two hypothetical sequences {+1, +1} and {-1, +1}, referred to as hypotheses h=00 and h=10. This gives rise to two candidate metrics: EQU C.sub.00 (n)=A.sub.0 (n-1)+M.sub.00 (n) (4a) EQU C.sub.10 (n)=A.sub.1 (n-1)+M.sub.10 (n) (4b)
The smaller of these two candidate metrics gives the accumulated metric for current state 0. The corresponding previous state becomes the predecessor state to state 0 at time n. If C.sub.10 (n)&lt;C.sub.00 (n), then the accumulated metric for current state 0 at time n becomes: EQU A.sub.0 (n)=C.sub.10 (n) (5)
The predecessor state and its predecessor and so forth is referred to as the path history of the current state. A similar procedure is applied to current state 1, in which case the two hypotheses are h=01 and h=11.
The detected symbols are decided by one of two methods. In the first method, all of the data are processed first. Then, the final state with the best metric is determined. The path history of this state gives the detected or demodulated data. In the second method, detection decisions are made before all of the data are processed. At time n, the symbol transmitted at time n-.tau. is decided, where .tau. is referred to as the decision depth. This is performed by finding the state at time n with the best metric and using its path history to determine the detected symbol at time n-.tau..
In general, the time varying channel consists of a number of channel taps that vary with time no After filtering, mixing down to baseband, and sampling, the received data samples r(n) can be modeled as: EQU r(n)=c.sub.0.sup.* (n)s(n)+c.sub.1.sup.* (n)s(n-1)+. . . +n(n)(6)
where s(n) are the transmitted symbols, c.sub.i (n) are the time dispersive channel taps, and n(n) is additive noise. It is convenient to use vector notation and to express the received data sample as: EQU r(n)=c.sup.H (n)x(n)+n(n) (7)
where c(n) is a vector of channel taps and x(n) is a vector containing the current and past transmitted symbols. The superscript "H" denotes the conjugate transpose.
The demodulator relies on channel tap estimates, C.sub.est (n), to predict received values for various hypothetical symbol sequences x.sub.h (n). These predicted values, referred to as target values t.sub.h (n), are given by: EQU t.sub.h (n)=c.sub.est.sup.H (n) x.sub.h (n) (8)
The target values are used to form branch metrics given by, for example, EQU M.sub.h (n)=.vertline.r(n)-t.sub.h (n).vertline..sup.2 ( 9)
or some equivalent metric. These metrics are accumulated and used to determine the demodulated symbol sequence.
The channel tap estimates must be updated to track a time-varying channel. This is done by making a tentative decision as to what symbols were transmitted up to time n, giving s.sub.det (n), s.sub.det (n-1) . . . which can be put into a vector x.sub.det (n). Typically, an error signal e(n) is used to update the channel tap estimates, where the error signal is given by the difference in what was received and what was predicted, i.e., EQU e(n)=r(n)-c.sub.est.sup.H (n) x.sub.det (n) (10)
Once the channel taps have been updated, giving c.sub.est (n+1), the channel taps can be used to form new predictions t.sub.h (n+1).
Thus, tracking the channel and forming target values involves the following steps. First, an initial detection decision is made. Then a target value is formed by filtering the detected data. An error signal is then formed by comparing the received and target values. The error is then used to update the channel tap estimates. Finally, the channel tap estimates are used to form updated target values. Each of these steps requires hardware or software resources which contributes to the complexity of the demodulator. Thus, there is a need to reduce this complexity without losing performance.